package com.lcc.lynx.jdbc.mapper;

import com.lcc.lynx.jdbc.qw.MyResultHandler;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultType;
import org.apache.ibatis.annotations.Select;

import java.util.Map;

/**
 * @author lcc
 * @date 2025/7/23 14:57
 */
@Mapper
public interface ExecuteSqlMapper {

    /**
     * 执行sql
     * @param sql   sql
     * @param params    参数
     * @param myResultHandler    结果处理器
     * @param <R>    结果类型
     * @author lcc
     * @date 2025/8/15 09:26
     */
    @Select("${sql}")
    @ResultType(Map.class)
    <R> void list(@Param("sql") String sql, @Param("params") Map<String, Object> params, MyResultHandler<R> myResultHandler);

}
